var suministro=null;

$(document).ready(function() {
	//autocompletes
	autocomplete_suministros();
	//fin autocompletes
	
	//validaciones
	creaValidacionDetallePedido();
	//fin validaciones
	
	//botones y evento
	Utiles_Botones.creaBotonAceptar("btn_sumi",($('#tipo_pedido').val()=='true')?agregaDetallePedido:agregaDetallePedidoEmergencia);
	Utiles_Botones.creaBotonCerrar("btn_sumi_limpiar",quitarMascara);
	//fin botones
	
	//eventos key
	$('#valor_desc').keyup(limpiaCodSuministro);
	
	$("#td_descripcion>input").width($("#td_descripcion").width() + 68);
	$("#td_observacion>textarea").width($("#td_observacion").width() - 10);
	
});


/*----------funciones------------*/

function limpiaCodSuministro(e) {
	if (e.keyCode != 13) {
		$('#valor_id').val("");
	}
}

function agregaDetallePedidoValidado(){
	detalle[detalle.length]={id_suministro:suministro.codigo,desc_suministro:suministro.descripcion,tipo_suministro:suministro.tipo_suministro,observacion:$("#valor_observacion").val(),cantidad:$("#valor_cantidad").val(),unidad_medida:suministro.unidad_medida};
		 
	 	cadena = "<tr class='data'>";
      cadena = cadena + "<td>" + $("#valor_id").val() + "</td>";
      cadena = cadena + "<td>" + $("#valor_desc").val() + "</td>";
      cadena = cadena + "<td>" + $("#valor_cantidad").val() + "</td>";
     cadena = cadena + "<td>" + suministro.unidad_medida + "</td>";
      cadena = cadena + "<td>" + $("#valor_observacion").val() + "</td>";
      //cadena = cadena + "<td align='center'><a class='edita'><img src='<c:url value='/images/page_edit.png' />' style='cursor: pointer' /></a>&nbsp;<a class='elimina'><img src='<c:url value='/images/delete.png' />' style='cursor: pointer' /></a></td></tr>";
      cadena = cadena + "<td align='center'><a class='elimina'><img src='"+$("#contexto_spring").attr("title")+"images/delete.png' style='cursor: pointer' /></a></td></tr>";
      $("#tb_sumi").append(cadena);
      $("#fec_emision").attr("disabled","disabled");
      
      id_sumi="";
      $("a.elimina").click(function(){
      	
			if(compareTo(id_sumi,$(this).parents("tr").find("td").eq(0).html())!=0){
				id_sumi = $(this).parents("tr").find("td").eq(0).html();          
				var elemento = 	$(this);
				Utiles_MensajesDialogo.showMensajeConfirmacion("Desea eliminar el suministro: " + id_sumi,function(result){
					if(result=="Si"){
						elemento.parent().parent().remove();
		         		$.each(detalle, function(i,item){
					        if(this.id_suministro==id_sumi) {
					        	detalle.splice(i,1);
					        	if(detalle.length==0){
					        	 $("#fec_emision").removeAttr("disabled");
					        	}
					        }
					      });
					}
					else{
						id_sumi="";
					}
				});
			}
      		
       });  
      limpiar();
}

function limpiar(){
	 $("#frmSumi").reset();
}


function quitarMascara(){
	$.unblockUI(); 
}

function creaValidacionDetallePedido(){
	$("#frmSumi").validate({
		rules: {
				cantidad: {
					required: true,
					number:true,
					range:[0.1,999999999]
				},
				cod_sumi: "required"
				
			},
			messages: {
				cantidad: {
					required: "",
					number: "Ingrese un numero valido por favor",
					range:"Ingrese un numero mayor a 0 "
				},
				cod_sumi: ""
				
			}
	});
}

function validaTipoSumi(tipo_sumi){
	if(detalle.length==0){
		return true;
	}
	if (detalle[0].tipo_suministro==tipo_sumi)
		return true;
	else
		return false;
}

function obtieneStock(){
	if($("#chk_inversion").attr("checked")){
		$.getJSON("get_cantidad_stock_inversion", {
			id_zona : $("#cmb_zona").val(),
			id_empresa:$("#cmb_empresa").val(),
			id_suministro:suministro.codigo,
			id_proyecto:$("#cod_proyecto").val()
		}, function(rpta) {
			$("#valor_stock").val(rpta.respuesta);
		});
	}
	else{
		$.getJSON("get_cantidad_stock", {
			id_zona : $("#cmb_zona").val(),
			id_empresa:$("#cmb_empresa").val(),
			id_suministro:suministro.codigo
		}, function(rpta) {
			$("#valor_stock").val(rpta.respuesta);
		});
	}
		
}

/*----------fin funciones------------*/


/*----------autocompletables------------*/
function autocomplete_suministros(){
	$("#valor_desc").autocomplete('get_suministros', {
		multiple: true,
		dataType: "json",
		parse: function(data) {
			return $.map(data, function(row) {
				return {
					data: row,
					value: row.codigo,
					result: row.descripcion
				};
			});
		},
		formatItem: function(item) {
			return "<table cellspacing='0' cellspadding='0' width='100%' border='0'><tr><td width='90%'>"+item.descripcion+"</td><td width='10%'>"+item.unidad_medida+"</td></tr></table>";
		}
	}).result(function(e, item) {
		suministro=item;
		if(suministro.existencia==1)
			obtieneStock();
		if(validaTipoSumi(suministro.tipo_suministro)){
			$("#valor_id").val(suministro.codigo);
			$("#valor_desc").val(suministro.descripcion);
		}		
		else{
			$("#valor_id").val("");
			$("#valor_desc").val("");
			Utiles_MensajesDialogo.showMensajeAlerta("El suministro "+suministro.descripcion+"<br/>es de un tipo distinto al que se desea ingresar<br/>Se debe Ingresar suministros del mismo tipo en un pedido!");
		}
		obtieneStock();	
	});
}
/*----------fin autocompletables------------*/
